package com.cmii.sjw.department.control.jsc.controller;

import cn.hutool.core.util.ObjectUtil;
import com.cmii.sjw.department.control.jsc.model.DistrictSchool;
import com.cmii.sjw.department.control.jsc.model.params.UniversitiesAdminParams;
import com.cmii.sjw.department.control.jsc.service.SchoolAdminService;
import com.cmii.sjw.department.control.jsc.util.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 学校管理员信息
 * @author jfh
 * @Date 2025年06月06日 17:43
 */
@Slf4j
@RestController
@CrossOrigin
@RequestMapping("/schoolAdmin")
public class SchoolAdminController {

    @Autowired
    private SchoolAdminService schoolAdminService;

    /**
     * 区县列表
     * @return 区县列表
     */
    @PostMapping("/districtList")
    public Result<List<DistrictSchool>> districtList() {
        return Result.success(schoolAdminService.districtList());
    }

    /**
     * 学校列表
     * @param district 区县
     * @return 学校列表
     */
    @PostMapping("/schoolList")
    public Result<List<DistrictSchool>> schoolList(String district) {
        log.info("district: {}", district);
        if (StringUtils.isBlank(district)) {
            return Result.error("区县不能为空");
        }
        return Result.success(schoolAdminService.schoolList(district));
    }

    /**
     * 保存普通学校管理员信息
     * @param paramsList 学校管理员信息
     * @return 保存结果
     */
//    @PostMapping("/ordinarySchoolSave")
//    public Result<String> ordinarySchoolAdminSave(@RequestBody List<SchoolAdminParams> paramsList) {
//        log.info("params: {}", paramsList);
//        for  (SchoolAdminParams params : paramsList) {
//            if (StringUtils.isBlank(params.getDistrict())) {
//                return Result.error("区县不能为空");
//            }
//            if (StringUtils.isBlank(params.getSchoolName())) {
//                return Result.error("学校名称不能为空");
//            }
//            if (StringUtils.isBlank(params.getLastName())) {
//                return Result.error("姓名不能为空");
//            }
//            if (StringUtils.isBlank(params.getPhoneNumber())) {
//                return Result.error("手机号不能为空");
//            }
//            if (ObjectUtil.isEmpty(params.getAccountId())){
//                return Result.error("政钉id不能为空");
//            }
//            if (StringUtils.isBlank(params.getOrgName())) {
//                return Result.error("组织信息不能为空");
//            }
//        }
//
//        return schoolAdminService.ordinarySchoolAdminSave(paramsList);
//    }
    /**
     * 保存高校管理员信息
     * @param paramsList 学校管理员信息
     * @return 保存结果
     */
    @PostMapping("/universitiesAdminSave")
    public Result<String> universitiesAdminSave(@RequestBody List<UniversitiesAdminParams> paramsList) {
        log.info("params: {}", paramsList);
        for  (UniversitiesAdminParams params : paramsList) {
            if (StringUtils.isBlank(params.getUniversitiesName())) {
                return Result.error("高校名称不能为空");
            }
            if (StringUtils.isBlank(params.getLastName())) {
                return Result.error("姓名不能为空");
            }
            if (StringUtils.isBlank(params.getPhoneNumber())) {
                return Result.error("手机号不能为空");
            }
//            if (ObjectUtil.isEmpty(params.getAccountId())){
//                return Result.error("政钉id不能为空");
//            }
//            if (StringUtils.isBlank(params.getPermissions())) {
//                return Result.error("权限不能为空");
//            }
//            if (StringUtils.isBlank(params.getPosition())) {
//                return Result.error("职位不能为空");
//            }
        }

        return schoolAdminService.universitiesAdminSave(paramsList);
    }

    /**
     * 保存参会人信息
     * @param paramsList 参会人信息
     * @return 保存结果
     */
//    @PostMapping("/conferenceParticipantSave")
//    public Result<String> conferenceParticipantSave(@RequestBody List<ConferenceParticipant> paramsList) {
//        log.info("params: {}", paramsList);
//        for  (ConferenceParticipant params : paramsList) {
//            if (StringUtils.isBlank(params.getUniversityName())) {
//                return Result.error("高校名称不能为空");
//            }
//            if (StringUtils.isBlank(params.getParticipantName())) {
//                return Result.error("姓名不能为空");
//            }
//            if (StringUtils.isBlank(params.getPhoneNumber())) {
//                return Result.error("手机号不能为空");
//            }
//            if (StringUtils.isBlank(params.getPosition())) {
//                return Result.error("职位不能为空");
//            }
//        }
//        return schoolAdminService.conferenceParticipantSave(paramsList);
//    }

    /**
     * 区县试点学校账号验证
     * @return 验证结果
     */
    @PostMapping("/validation")
    public Result<String> validation() {
        schoolAdminService.validation();
        return Result.success("验证完毕");
    }
}
